Software-defined networking is an approach to computer networking in which control decisions for routing traffic through the network can be decoupled from the network's physical infrastructure. In some software-defined networks, a network controller can instruct switches in the network to flow traffic along a selected routing path. The routing path can be selected by the network controller, administrator, or another entity based on network conditions or other factors. For example, a routing path can be selected so as to improve network efficiency, to achieve a desired load balancing, or to achieve other desired characteristics in the network.